#ifndef FRAMELESSMDIMAINWINDOW_H
#define FRAMELESSMDIMAINWINDOW_H

#include "frameless/framelesswidget.h"
#include "titleRibbon/titleribbonbar.h"
#include "framelessmdichildwindow.h"
#include "otherWidget/titletreewidget.h"
#include "otherWidget/titlelistwidget.h"
#include <QTreeWidget>
#include <QSplitter>
#include <QStatusBar>
class FramelessMDIMainWindow : public FramelessMainWindow
{
    Q_OBJECT
public:
    FramelessMDIMainWindow();

    // 添加MDI子窗口
    void addSubWindow(QWidget *childWindow = nullptr) {
        Q_UNUSED(childWindow)
    }

    void cascadeSubWindows() {
    }

    void tileSubWindows() {
    }

    QString getSkinQssFile()
    {
        return skinQssFile;
    }

public slots:
    void dealSkinChange(QString skinFile);
protected:
    // 载入皮肤
    void loadSkin(const QString &qssFile = QString(":/dark.qss"));
    //
    void initTitleRibbonBar();
    //
    void initSplitter();
    //
    void initTabWidget();
    //
    void initTreeWidget();
    //
    void initStatusBar();
private:
    TitleRibbonBar *titleRibbonBar = nullptr;
    QTabWidget *tabWidget = nullptr;
    titleTreeWidget *treeWidget = nullptr;
    titleListWidget *listWidget = nullptr;
    QList<QWidget *> listChildWindow;
    QString        skinQssFile = ":/blue.qss";
    QSplitter *hSplitter = nullptr;
    QStatusBar *statusBar = nullptr;
};

#endif // FRAMELESSMDIMAINWINDOW_H
